#include <iostream>

using namespace std;
int n,m;
typedef struct node{
	int toward;//0-圈内 1-圈外 
	char job[15];
}node;

node st[100005];
int main(){
	int a,s,key=0;
	cin>>n>>m;//小人个数 指令个数
	for(int i=0;i<n;i++){//逆时针
		//朝向 职业 
		cin>>st[i].toward>>st[i].job;
	}
	for(int i=1;i<=m;i++){
		cin>>a>>s;
		//a：0/1 左/右 数第s个
		/*
		面朝圈内的玩具小人, 它的左边是顺时针方向, 右边是逆时针方向; 
		而面向圈外的玩具小人, 它的左边是逆时针方向, 右边是顺时针方向
		*/
		//求出计数的顺、逆时针
		if((st[key].toward==0&&a==0)||(st[key].toward==1&&a==1)){//顺时针 
			key=(key+n-s)%n; 
		}else{//逆时针 
			key=(key+s)%n;
		}
	}
	cout<<st[key].job;
	return 0;
}
